package hu;

import java.util.*;

/**
 * 动态规划
 * 最长递增子序列（可以删除元素，也可以不删除元素）
 */
public class hu103 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] num = new int[n];
        for (int i = 0; i < n; i++) {
            num[i] = sc.nextInt();
        }
        int max_sum = 0;
        int[] dp = new int[n];
        Arrays.fill(dp,1);
        for (int i = 1; i < n; i++) {
            for (int j = 0; j < i; j++) {
                if(num[i] > num[j])
                    dp[i] = Math.max(dp[i], dp[j] + 1);
            }
            max_sum = Math.max(max_sum, dp[i]);
        }
        System.out.println(max_sum);
    }
}
